package com.suneast.suneaststore.modules.common;

import android.support.annotation.IntDef;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

public class Flag {

    @IntDef({Result.FAILURE, Result.SUCCEED})
    @Retention(RetentionPolicy.SOURCE)
    public @interface Result {
        int FAILURE = 0;
        int SUCCEED = 1;
    }

    @IntDef({CodeType.SIGN_UP, CodeType.AUTH_CODE, CodeType.RESET, CodeType.ADD_CARD})
    @Retention(RetentionPolicy.SOURCE)
    public @interface CodeType {
        int SIGN_UP = 0;//用户注册
        int AUTH_CODE = 1;//验证码登录
        int RESET = 2;//重置密码
        int ADD_CARD = 3;//添加银行卡的验证
    }

    @IntDef({Target.MP, Target.JP, Target.TJ})
    @Retention(RetentionPolicy.SOURCE)
    public @interface Target {
        int MP = 1;//名品
        int JP = 2;//精品
        int TJ = 3;//特价
    }

    @IntDef({Cid.FINISHED_PRODUCT, Cid.MATERIALS})
    @Retention(RetentionPolicy.SOURCE)
    public @interface Cid {
        int FINISHED_PRODUCT = 1194;//成品
        int MATERIALS = 1195;//材料
    }

    @IntDef({PayType.WECHAT_PAY, PayType.ALI_PAY, PayType.BALANCE_PAY})
    @Retention(RetentionPolicy.SOURCE)
    public @interface PayType {
        int WECHAT_PAY = 0;
        int ALI_PAY = 1;
        int BALANCE_PAY = 2;
    }

    @IntDef({SelectMode.SELECT, SelectMode.EDIT})
    @Retention(RetentionPolicy.SOURCE)
    public @interface SelectMode {
        int SELECT = 0;
        int EDIT = 1;
    }

    @IntDef({FastOrderState.MERCHANT_CHECKING, FastOrderState.CUSTOMER_COMMITTED,
            FastOrderState.MERCHANT_CHECKED, FastOrderState.CUSTOMER_PAYING,
            FastOrderState.CUSTOMER_PAYED, FastOrderState.MERCHANT_SENDING,
            FastOrderState.MERCHANT_SENT, FastOrderState.CUSTOMER_WAITING,
            FastOrderState.CUSTOMER_RECEIVED, FastOrderState.MERCHANT_WAIT_EVALUATE,
            FastOrderState.CUSTOMER_EVALUATED, FastOrderState.BUSINESS_FINISHED,
            FastOrderState.ORDER_CANCELED})
    @Retention(RetentionPolicy.SOURCE)
    public @interface FastOrderState {
        int MERCHANT_CHECKING = 0;//此订单未定价 订单发起者查看此订单
        int CUSTOMER_COMMITTED = 1;//此订单未定价 订单应答者查看此订单
        int MERCHANT_CHECKED = 2;//此订单已定价 订单发起者查看此订单
        int CUSTOMER_PAYING = 3;//此订单已定价 订单应答者查看此订单
        int CUSTOMER_PAYED = 4;//此订单已支付 订单应答者查看此订单
        int MERCHANT_SENDING = 5;//此订已支付 订单发起者查看此订单
        int MERCHANT_SENT = 6;//此订单已发货 订单发起者查看此订单
        int CUSTOMER_WAITING = 7;//此订单已发货,订单应答者查看此订单
        int CUSTOMER_RECEIVED = 8;//此订单已收货,订单应答者查看此订单
        int MERCHANT_WAIT_EVALUATE = 9;//此订单未评价,订单发起者查看此订单
        int CUSTOMER_EVALUATED = 10;//此订单已评价,订单应答者查看此订单
        int BUSINESS_FINISHED = 11;//订单已完成
        int ORDER_CANCELED = 12;//订单已取消
    }
}
